<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

	<xsl:param name="rootUrl" />
	<xsl:param name="id" />
	<xsl:decimal-format name="en" decimal-separator="." grouping-separator=","/>
	
<xsl:template match="/">
	<xsl:apply-templates select="//product[@id=$id]"/>
</xsl:template>

<xsl:template match="product">
	<div class="productDetail">
		<div class="photo">
			<xsl:element name="img">
				<xsl:attribute name="class">productImage</xsl:attribute>
				<xsl:attribute name="src">
					/services/thumbnail.aspx?i=<xsl:value-of select="@PhotoURL"/>&amp;sx=300&amp;method=restricttosize
        </xsl:attribute>
				<xsl:attribute name="border">0</xsl:attribute>
			</xsl:element>
		</div>
		<div class="productInformation">
		<h2><xsl:value-of select="@title"/></h2>
		<xsl:value-of select="text()"/>
		<div id="price">
			<xsl:choose>
				<xsl:when test="number(@Discount) &gt; 0">
					<xsl:value-of select="format-number(number(@Price)-number(@Discount), '#,####.00', 'en')"/>
				</xsl:when>
				<xsl:otherwise>
					<xsl:value-of select="format-number(@Price, '#,####.00', 'en')"/>
				</xsl:otherwise>
			</xsl:choose>
		</div>
		<dl id="options">
			<xsl:apply-templates select="./option"></xsl:apply-templates>
		</dl>
			<div class="back">
				<xsl:element name="a">
					<xsl:attribute name="href">
            <xsl:call-template name="contentLink">
              <xsl:with-param name="content" select="ancestor::node()" />
            </xsl:call-template>
          </xsl:attribute>
					Back to <xsl:value-of select="../@title" />
				</xsl:element>
			</div>
		</div>
		<div id="relatedProducts">
			<div>Related Items:</div>
			<xsl:call-template name="relatedProducts">
				<xsl:with-param select="../product" name="products"/>
			</xsl:call-template>
		</div>
	</div>
	</xsl:template>

  <xsl:template name="contentLink">
    <xsl:param name="content" />
    <xsl:for-each select="$content">
      <xsl:if test="@key != ''">
        <xsl:choose>
          <xsl:when test="count(descendant::node()) > 0 and not(position()=last())">/<xsl:value-of select="@key"/></xsl:when>
          <xsl:otherwise>/<xsl:value-of select="@key"/>.t</xsl:otherwise>
        </xsl:choose>
      </xsl:if>
    </xsl:for-each>
  </xsl:template>

    <xsl:template match="option">
		<dt>
			<xsl:value-of select="@title"/>
		</dt>
		<dd>
			<xsl:value-of select="text()"/>
		</dd>
	</xsl:template>

	<xsl:template name="relatedProducts">
		<xsl:param name="products" />
		<xsl:for-each select="$products">
			<xsl:element name="a">
				<xsl:attribute name="href">
          <xsl:call-template name="contentLink">
            <xsl:with-param name="content" select="ancestor-or-self::node()" />
          </xsl:call-template>
				</xsl:attribute>

				<div class="relatedProduct">
					<div class="photo">
						<xsl:element name="a">
							<xsl:attribute name="href">
                <xsl:call-template name="contentLink">
                  <xsl:with-param name="content" select="ancestor-or-self::node()" />
                </xsl:call-template>
							</xsl:attribute>
							<xsl:element name="img">
								<xsl:attribute name="class">relatedProductThumbnail</xsl:attribute>
								<xsl:choose>
									<xsl:when test="@thumbnail">
										<xsl:attribute name="src">
                      /services/thumbnail.aspx?i=<xsl:value-of select="@thumbnail"/>&amp;sx=<xsl:value-of select="50"/>&amp;sy=<xsl:value-of select="50" />&amp;method=restricttosize
                    </xsl:attribute>
									</xsl:when>
									<xsl:otherwise>
										<xsl:attribute name="src">
                      /services/thumbnail.aspx?i=<xsl:value-of select="@PhotoURL"/>&amp;sx=<xsl:value-of select="50"/>&amp;sy=<xsl:value-of select="50" />&amp;method=restricttosize
                    </xsl:attribute>
									</xsl:otherwise>
								</xsl:choose>
								<xsl:attribute name="border">0</xsl:attribute>
							</xsl:element>
						</xsl:element>
					</div>
					<div class="title">
						<xsl:element name="a">
							<xsl:attribute name="href">
                <xsl:call-template name="contentLink">
                  <xsl:with-param name="content" select="ancestor-or-self::node()" />
                </xsl:call-template>
							</xsl:attribute>
							<xsl:value-of select="@title"/>
						</xsl:element>
					</div>
				</div>
			</xsl:element>
		</xsl:for-each>
	</xsl:template>
</xsl:stylesheet> 

